A system whose failure results in loss of life, significant property damage, or damage to the environment is called a safety-critical system. There are well-known examples in the application areas such as medical devices, aircraft flight control, weapon manufacturing, and nuclear systems that use a safety-critical system. From the software perspective, developing the safety critical systems in the required numbers and with adequate level of dependability requires significant advances in areas such as specification, architecture and verification process of individual software component and/or product used in the safety-critical systems.
In addition, one of the basic challenges in the development of a safety-critical system is that, it is not possible to fully test each software component used in the safety-critical system. Performing an exhaustive testing of a software product, by executing entire source code of the software product sounds like an easy process. However, examining all possible execution paths of even the simplest piece of software can be very difficult. For example, a simple flow chart containing five decision points (including a loop) and six functional blocks that, when analyzed, would contain 1014 number of possible execution paths.
Hence, there may be major gaps between the procedures used in the development of software products and the actual standard procedures to be followed according to one of a standards organization. Similarly, there can be difficulties in interpretation of the standard safety procedures and mapping them to the relevant elements of the software product. This difficulty of mapping may result in a mismatch between the safety procedures followed by the software product to the standard safety procedures. Hence, the developed software product may not be fully compliant with the standard safety procedures, resulting in rejections and/or multiple iterations during certification of such a software product from the certification authorities.
FIG. 1 shows an exemplary environment 100a indicating a conformance gap between the standard safety procedures and the safety procedures incorporated in a software product 101. The standard safety procedures 111a may be extracted from one of a safety standards and manuals 111 related to the software product 101. As show in FIG. 1, the conformance gap in the software product 101 may arise when one or more missing, incorrect and/or additional elements of safety procedures are involved in the software product 101 with respect to the standard safety 111a procedures. Further, the software product 101 may be considered to be fully compliant with the standard safety procedures 111a only when each element of the safety procedures followed by the software product 101 matches with the standard safety procedures 111a. 
One of the existing methods for eliminating the conformance gap in the software products comprises an intermediate execution shell and a data processor having an operating system that performs processing operations of the software products on the intermediate shell. The intermediate shell interacts with the operating system and the application software of the software product to emulate a safety critical environment for testing the application software. Thereafter, the application software may be executed on the intermediate shell, thereby rectifying the software product based on the results of execution of the application software. However, the above method does not disclose the aspect of determining safety compliance level of the software product with respect to the standard safety procedures. Also, the existing methods perform an in-depth analysis of the software product by allowing a user to select the required industry compliance standard. However, it requires a continuous intervention of the developers for analyzing the software product and there may be oversight errors due to manual intervention, which may result in non-compliance of safety standards. Hence, there is a need for a method of determining safety compliance of the software products by mapping the safety procedures of the software products with the standard safety procedures.